// #include<iostream>
// #include<string>
// #include<random>
// #include<functional>
// #include<ctime>
// #include<chrono>
//
// using namespace std;
//
// //随机数
// void test_rand() {
//
//     //生成随机数
//
//     //设置随机数种子
//     // srand((unsigned int)time(NULL));
//     // cout << rand() % 10 << endl;
//
//     auto t = chrono::high_resolution_clock::now();
//     default_random_engine e;
//     e.seed(t.time_since_epoch().count());
//     cout << "max: " << e.max() << endl;
//     cout << "min " << e.min() << endl;
//     cout << "随机数" << e() << endl;
//
//     cout << "固定范围" << e() % 20 << endl;
//
//     //可以结合分布方式生成随机数
//     uniform_int_distribution<int> d(66,88);
//     cout << "uniform" << d(e) <<endl;
//
//     //集合bind 函数使用
//
//     auto func = bind(d,e);
//     cout << "uniform" <<func()<<endl;
//
//
//     //了解引擎
//
//     //线性同余
//     // y=(x*a+c)%m
//     linear_congruential_engine<unsigned int,2,0,10> el;
//     el.seed(time(nullptr));
//     cout << "linear" << el << endl;
//     //梅森选择
//     mt19937_64 t2;
//     t2.seed(time(nullptr));
//     cout << "mt19937_64" << t2()<< endl;
//
//
// }
// int main() {
//     test_rand();
//     return 0;
// }